Create a customer-defined tool

Tools are created and edited from the Tools screen.

To create a new customer-defined tool:

  1. In the Navigation pane, expand AI Agents, and then click Tools.

  2. Click Add new tool.

To create ready-made tools for a common provider in a few clicks, click Integrations instead — see Pre-built integrations.

The tool editor opens. Its settings are organized into the following tabs:

Tab Purpose
General Tool name, type, endpoint and parameters.
Response How the agent waits for and handles the tool's response.
Variables Reusable named values referenced from the request.
Progress Messages played to the caller while the tool runs.
Advanced Advanced configuration parameters.

When you finish configuring the tool, click Create (or Update when editing an existing tool).

You can validate the tool by clicking Test — see Testing a tool.

General tab

The General tab holds the tool's identity and its endpoint configuration. The fields shown depend on the selected Type.

REST tools

For REST tools, configure the request:

In URL, Headers, Content and Authentication you can reference values by enclosing their name in curly brackets — {name}. You can reference the tool's parameters, the tool's own variables, and any of the dynamic variables available to the agent or flow — agent / flow variables and conversation data being the most prominent examples. For details, see Request structure.

Parameters

Under Parameters, define the values the LLM specifies each time it calls the tool. Click Add to add a parameter, then configure:

The deprecated Header parameter type has been removed; use the Headers field instead.

MCP tools

For MCP (Model Context Protocol) tools, the agent discovers the tools provided by the MCP server at the beginning of the conversation and uses them during the conversation.

For details, see MCP tools.

Response tab

The Response tab controls how the agent waits for and handles the tool's response.

For details on these settings, see Customizing tool response.

Variables tab

The Variables tab defines reusable named values that are specific to this tool, referenced as {name} in the URL, Headers, Content and Authentication fields. Unlike parameters, variables are never exposed to the LLM.

Click Add to add a variable, then configure its Name, Type (String, Integer, Float, Boolean or Secret) and Value.

These are tool-specific variables. All other variables available to the agent or flow — such as agent / flow variables and conversation data — can also be referenced as {name} in the same fields, so there is no need to redefine them here. A tool's variable takes precedence over the agent's or flow's variable of the same name.

For details, see Tool variables.

Progress tab

The Progress tab configures messages played to the caller while the tool runs, keeping the caller engaged during slow tool calls.

For tools that run in the background (Wait for response off), only the During execution message is played, as there is no result to wait for.

For details, see Tool progress messages.

Advanced tab

The Advanced tab holds per-tool configuration as JSON. To view autocomplete options, press Ctrl + Space.

For example:

Testing a tool

Click Test at the bottom of the tool editor to run the tool against its configured endpoint without saving it.

Provide a value for each parameter, then click Run. The result — status code and response body (including the reshaped response, if configured) — is shown below the parameters. For MCP tools, first pick the tool to test from the list, then provide its parameters.

Cloning a tool

To clone a tool:

  1. On the tool's card, click the three dots (⋯) in the upper-right corner.

  2. From the menu, select Clone. The duplicated card appears on your screen.